<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

  <script>
    // 网络请求:aaa -> 自己处理(10行)
    // 处理:aaa拼接111 -> 自己处理(10行)
    // 处理:aaa111拼接222 -> 自己处理
    // new Promise((resolve, reject) => {
    //   setTimeout(() => {
    //     resolve('aaa')
    //   }, 1000)
    // }).then(res => {
    //   // 1.自己处理10行代码
    //   console.log(res, '第一层处理10行代码');

    //   // 2.对结果进行第一次处理
    //   return new Promise((resolve) => {
    //     resolve(res + '111')
    //   }).then(res => {
    //     console.log(res, '第二层处理10行代码');

    //     return new Promise(resolve => {
    //       resolve(res + '222')
    //     }).then(res => {
    //       console.log(res, '第三层处理10行代码');
    //     })
    //   })
    // })

    // new Promise(resolve => resolve(结果)) 简写
    // new Promise((resolve, reject) => {
    //     setTimeout(() => {
    //       resolve('aaa')
    //     }, 1000)
    //   }).then(res => {
    //     // 1.自己处理10行代码
    //     console.log(res, '第一层处理10行代码');

    //     // 2.对结果进行第一次处理
    //     return Promise.resolve(res + '111')
    //   }).then(res => {
    //     console.log(res, '第二层处理10行代码');

    //     return Promise.resolve(res + '222')
    //   })
    //   .then(res => {
    //     console.log(res, '第三层处理10行代码');
    //   })

    // 省略掉Promise.resolve
    new Promise((resolve, reject) => {
        setTimeout(() => {
          resolve('aaa')
        }, 1000)
      }).then(res => {
        // 1.自己处理10行代码
        console.log(res, '第一层处理10行代码');

        // 2.对结果进行第一次处理
        return (res + '111')
      }).then(res => {
        console.log(res, '第二层处理10行代码');

        return (res + '222')
      })
      .then(res => {
        console.log(res, '第三层处理10行代码');
      })
  </script>
</body>

</html>